﻿
namespace MathService
{
    public static partial class Consts
    {
        public static class Astronomy
        {
            public const double G = 6.67428e-11;

            public const double Parsec = 30.857 * SIPrefix.peta;
            public const double LightYear = 9.461 * SIPrefix.peta;
            public const double au = 149.60 * SIPrefix.giga;

            public static class TimeLength
            {
                public const double Second = 1;
                public const double Minute = 60 * Second;
                public const double Hour = 60 * Minute;
                public const double Day = 24 * Hour;
                public const double Year = (365 * 3 + 366) / 4 * Day;
                public const double Month = Year / 12;
            }

            public static class SolarSystem
            {

                public static class Earth
                {
                    public const double Radius = 6371000;
                    public const double Mass = 5.9736 * SIPrefix.yotta;
                    public const double g = 9.780327;

                    public const double FirstSpaceSpeed = 7900;
                    public const double SecondSpaceSpeed = 11186;
                    public const double OrbitSpeed = 29783;

                    public const double YearLength = 31558150;
                    public const double DayLength = 86400.002;
                }

                public static class Sun
                {
                    public const double OrbitSpeed = 2.2e5;
                    public const double Radius = 1.392 * SIPrefix.giga / 2;
                    public const double Mass = 1.9891e30;
                    public const double g = 274;
                    public const double SecondSpaceSpeed = 617700;

                    public const double YearLength = 2.5e8 * TimeLength.Year;
                    public const double DayLength = 25.38 * TimeLength.Day;
                }

                public static class Moon
                {
                    public const double OrbitSpeed = 1022;
                    public const double Radius = 1737100;
                    public const double Mass = 73.477 * SIPrefix.zetta;
                    public const double g = 1.62;

                    public const double FirstSpaceSpeed = 1680;
                    public const double SecondSpaceSpeed = 2375;

                }
            }
        }
    }
}
